import tkinter
import tkinter.messagebox
import os
import os.path
path=osgetenv('temp')
filename=os.path.join(path,'info.txt')
#创建应用程序窗口
root=tkinter.Tk()
#定义窗口大小
root['height']=140
root['width']=200
#在窗口上创建标签组件
labelName=tkinter.Label(root,
                           text='UserName:',
                           justify=tkinter.RIGHT,
                           anohor='e',
                           width=80)
#把组件放置到窗口上指定区域
labelName.place(x=10,y=5,width=80,height=20)
#创建字符串变量和文本边框组件，同时设置关联的变量
#可以通过关联变量来读取或修改文本框内的文本
varName=tkinter.StringVar(root,value='')
entryName=tkinter.Entry(root,
                          width=80,
                          textvariable=varName)
entryName.place(x=100,y=5,width=80,height=20)
labelPwd=tkinter.Label(root,
                           text='UserPwd:',
                           justify=tkinter.RIGHT,
                           anohor='e',
                           width=80)
labelPwd.place(x=10,y=30,width=80,height=20)
创建密码文本框
varPwd=tkinter.StringVar(root,value='')
entryPwd=tkinter.Entry(root,
                          show='*',   #不管输入什么，都显示星号
                          width=80,
                          textvariable=varPwd)
entryPwd.place(x=100,y=30,width=80,height=20)
#尝试自动填写用户名和密码
try:
    with open(filename)as fp:
        n,p=fp.read().strip().split(',')
        varName.set(n)
        varPwd.set(p)
except:
    pass
#记住我，复选框
rememberMe=tkinter.IntVar(root,value=1)
checkRememberMe=tkinter.Checkbutton(root,
                                     text='Remember Me?',
                                     variable=rememberMe,  #选中时，rememberMe的值为1，否则为0
                                     onvalue=1,
                                     offvalue=0)
checkRememberMe.place(x=30,y=70,width=120,height=20)
#登录按钮事件处理函数
def login():
    name=entryName.get()
    pwd=entryPwd.get()
    if name=='admin'and pwd=='123456':
        tkinter.messagebox.showinfo(title='恭喜',
                                    message='登录成功')
        if rememberMe.get()==1:
            with open(filename,'w')as fp:
                fp.write(','.join((name,pwd)))
        else:
            try:
                os.remove(filename)
            except:
                pass
    else:
        tkinter.messagebox.showerror('警告',
                                    message='用户名或密码错误')
buttonOk=tkinter.Button(root,
                          text='Login',#设置按钮上显示的文本
                          command=login)#设置按钮的单击事件处理函数
buttonOk=tkinter.Button(root,
                          text='Login',#设置按钮上显示的文本
                          command=login)#设置按钮的单击事件处理函数
buttonOk.place(x=30,y=100,width=80,height=20)
#取消按钮事件处理函数
def cancel():
   # 清空用户输入的用户名和密码
   varName.set('')
   varPwd.set('')
buttonCancel=tkinter.Button(root,
                             text='Cancel',
                             command=cancel)
buttonCancel.place(x=90,y=100,width=50,height=20)
root.mainloop()
